import junit.framework.TestCase;


public class probandoOperador extends TestCase {

	operaciones op1;
	
	protected void setUp(){
		
		op1=new operaciones();
	}
	
	public void testsumatoria(){
		
		assertEquals("El resultado debe ser 6",6, op1.sumatoria(3));
		assertEquals("El resultado debe ser -6",-6, op1.sumatoria(-3));
	}
	
	public void testdivision() throws ExecpcionOperacionInoperable{
		
		assertEquals(5, op1.division(10,2));
		assertEquals(3, op1.division(10,3));
	}
	
	public void testMultiplicacion(){
		
		assertEquals(6, op1.multiplicacion(2, 3));
		assertEquals(-6, op1.multiplicacion(2, -3));
	}
	
	public void testPotencia() throws ExecpcionOperacionInoperable{
		
		assertEquals(27, op1.potencia(3, 3));
		assertEquals(32, op1.potencia(2, 5));
		
		try{
			
			op1.potencia(5, -5);
			fail("Debe producirse una ecepcion");
		}
		catch(ExecpcionOperacionInoperable e){
			
		}
	}
	
	public void testFactorial() throws ExecpcionOperacionInoperable{
		
		assertEquals(120, op1.factorial(5));
		try{
			
			op1.factorial(-5);
			fail("Se debio levantar una excepcion");
		}
		catch(ExecpcionOperacionInoperable esperado){
			
		}
	}
}
